OTV Miner Progress



Overview


1.1. The goals of the final project are as follows.

Project 3
  • Combine Elements
  • Load Screen
  • Cut in Graphics

1.2. The final stage in this project was to combine the elements of the game that Tim and I had done on previous projects. He had implemented the rock breakup, element release, bug and enemy ship elements. I was working on ship elements (movement and such), movement within the game and firing the lasers. Between the two of us we had all the components for a complete game.

1.3. I spent the majority of my time with the final project developing the menu system. It was a challenge to get the components working the way I wanted them to operate. I also spent a lot of time creating the graphics that we used. The work was easy but time consuming and tedious.

1.4. I developed a menu class that contained all of the functionality I wanted. It is kind of awkward in XNA that each game cycle everything is processed. All game elements are accessed even though you have the menu running, so you have to account for that in each iteration of the game loop. I used Boolean variables to track the menu state and whether the game had started or not. I also implemented a difficulty level setting.

1.5. One of the things we also discussed was the end of game scenario. We decided that the ship would “teleport” out of the area to indicate that you completed the game. This was a real challenge getting the animation to work. I had problems with it because I would initiate the animation and then change the game state. Since XNA has 60 game iterations in a second, the game state stopped the animation before it finished. I had to implement a counter to give the animation enough time to finish before the game state got implemented. It was quite a challenge.

1.6. Tim concentrated on combining the game play elements. I know he had difficulty in collision detection but was able to iron it out. I think we had the same issue because the way we implemented our graphics. The rectangle every time it was applied was based on the center of the graphic and not the top left corner. So he had to compensate for that. I just find it amusing that I had the same exact problem.

1.7. One of the things we did in this project that was different from the others was to minimize the class implementation. When I refined the program structure I combined the elements into classes and reduced the clutter in the main program. In doing that I had to pass a lot of objects around so the program could process the required tasks. We thought that this might be a performance issue, so we deconstructed some of those classes and put the functions backin the game class to improve performance.

1.8. Lastly, the only element in my projected time line to implement was cut in graphics. As much as I would have liked to have done that, I am a little lacking in the artistic department to do such a thing in a reasonable amount of time. I thought I might have the time to work on something but, between two classes and lack of experience in the process my time would have been used up just doing that one thing. Unfortunately I just didn’t have the opportunity to do it.





Project Home Next Section